﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 随机数与猜数字小游戏
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //1 产生一个随机数作为目标数字
            //-----需要限制随机数的上下限，使用变量
            int lowerBound = 10;
            int upperBound = 20;

            Random random = new Random();

            int targetNumber = random.Next(lowerBound, upperBound);

            Console.WriteLine("生成了随机数，范围是{0}到{1}之间，请猜测", lowerBound, upperBound);

            while (true)
            {
                for (int i = 0; i < 10; i++)
                {
                    //2 接收用户输入的一个数字
                    int input = Convert.ToInt32(Console.ReadLine());

                    //3 对比用户输入数字与目标数字之间的关系
                    //3.1 如果匹配，猜测成功
                    //3.2 如果更大，则输出数字太大
                    //3.3 如果更小，则输出数字太小

                    if (input == targetNumber)
                    {
                        Console.WriteLine("恭喜！猜测成功！");
                        //!!!如果用户猜对了，直接终止当前循环
                        break;
                    }
                    else if (input > targetNumber)
                    {
                        Console.WriteLine("抱歉，猜测数字太大了");
                    }
                    else
                    {
                        Console.WriteLine("抱歉，猜测的数字太小了");
                    }

                    Console.WriteLine("请再次输入数字：");
                }

                Console.WriteLine("********是否重来？********");
                Console.WriteLine("1 重来 0 退出");

                //拿到用户输入的选项，判断是否重来
                int PlayAgain = Convert.ToInt32(Console.ReadLine());

                if (PlayAgain == 1)
                {
                    targetNumber = random.Next(lowerBound, upperBound);

                    Console.Clear();

                    Console.WriteLine("生成了随机数，范围是{0}到{1}之间，请猜测", lowerBound, upperBound);
                }
                else if (PlayAgain == 0)
                {
                    break;
                }
            }

            Console.WriteLine("游戏退出");

            Console.Read();
        }
    }
}
